#include "LnkLst.h"


void LLTest1()
{
	LnkLst* LLst;
	LLst = NULL;
	/*LLPushHead(&LLst, 1);
	LLPushHead(&LLst, 2);
	LLPushHead(&LLst, 3);
	LLPushHead(&LLst, 4);*/
	LLPushEnd(&LLst, 0);
	LLPushEnd(&LLst, 1);
	LLPushEnd(&LLst, 2);
	LLPushEnd(&LLst, 3);
	LLPrint(LLst);
}
void LLTest2()
{
	LnkLst* LLst = NULL;
	LLPushEnd(&LLst, 0);
	LLPushEnd(&LLst, 2);
	LLPushEnd(&LLst, 4);
	LLPushHead(&LLst, 4);
	LLPushHead(&LLst, 2);
	LLPushEnd(&LLst, 5);
	LLPrint(LLst);

	LLRemoveEnd(&LLst);
	LLPrint(LLst);
	LLRemoveHead(&LLst);
	LLPrint(LLst);
}
void LLTest3()
{
	LnkLst* LLst = NULL;
	LLPushEnd(&LLst, 0);
	LLPushEnd(&LLst, 2);
	
	LLPushHead(&LLst, 4);
	LnkLst* ret = LLFind(LLst, 2);
	LLInsertFront(&LLst, ret, 20);
	LLPrint(LLst);

	LLInsertAfter(&LLst, ret, 3);
	LLPrint(LLst);

	LLErase(&LLst, ret);

	LLPrint(LLst);
	LLPushEnd(&LLst, 4);
	LnkLst* pos = LLFind(LLst, 4);
	LLInsertAfter(&LLst, pos, 5);

	LLPrint(LLst);
	pos = LLFind(LLst, 0);
	LLEraseAfter(pos);

	LLPrint(LLst);

	LLDestory(&LLst);
}
int main(void)
{
	//LLTest1();
	//LLTest2();
	LLTest3();
	return 0;
}